home *** CD-ROM | disk | FTP | other *** search
- i = "1";
- m = (ball_yB - ball_yA) / (ball_xB - ball_xA);
- c = ball_yA - m * ball_xA;
- row = int((ball_yA - edge_rows) / "20");
- col = int((ball_xA - edge_cols) / "40");
- H_collision_line = (row + "1") * "20" - "4";
- if(H_collision_line < ball_yA and H_collision_line >= ball_yB)
- {
- set("ball_y" add i,H_collision_line);
- set("ball_x" add i,(eval("ball_y" add i) - c) / m);
- i += "1";
- }
- eol = "0";
- while(eol == "0")
- {
- H_collision_line -= "20";
- if(H_collision_line < ball_yB)
- {
- eol = "1";
- }
- else
- {
- set("ball_y" add i,H_collision_line);
- set("ball_x" add i,(eval("ball_y" add i) - c) / m);
- i += "1";
- }
- }
- V_collision_line = (col + "1") * "40" - "24";
- if(V_collision_line < ball_xA and V_collision_line >= ball_xB)
- {
- set("ball_x" add i,V_collision_line);
- set("ball_y" add i,m * eval("ball_x" add i) + c);
- i += "1";
- }
- eol = "0";
- while(eol == "0")
- {
- V_collision_line -= "40";
- if(V_collision_line < ball_xB)
- {
- eol = "1";
- }
- else
- {
- set("ball_x" add i,V_collision_line);
- set("ball_y" add i,m * eval("ball_x" add i) + c);
- i += "1";
- }
- }
- noOfpts = i - "1";
- j = "1";
- while(noOfpts >= j)
- {
- set("manhattan" add j,(eval("ball_x" add j) - ball_xA) * (eval("ball_x" add j) - ball_xA) + (eval("ball_y" add j) - ball_yA) * (eval("ball_y" add j) - ball_yA));
- set("dist" add j,"0");
- j += "1";
- }
- n = "1";
- while(noOfpts >= n)
- {
- d = "1";
- set("dist" add d,eval("manhattan" add n));
- while(noOfpts - "1" >= d)
- {
- if(eval("dist" add (d + "1")) < eval("dist" add d))
- {
- distTemp = eval("dist" add d);
- set("dist" add d,eval("dist" add (d + "1")));
- set("dist" add (d + "1"),distTemp);
- }
- d += "1";
- }
- n += "1";
- }
- d = "1";
- while(noOfpts >= d)
- {
- n = "1";
- while(noOfpts >= n)
- {
- if(eval("dist" add d) == eval("manhattan" add n))
- {
- pt_col = int((eval("ball_x" add n) - edge_cols) / "40");
- pt_row = int((eval("ball_y" add n) - edge_rows) / "20");
- B_collision_line = (pt_row + "1") * "20" - "4";
- R_collision_line = (pt_col + "1") * "40" - "24";
- wall_collision_line = "10" + ballRadius;
- ceiling_collision_line = "10" + ballRadius;
- if(eval("ball_y" add n) == ceiling_collision_line)
- {
- tellTarget("/soundFX")
- {
- gotoAndStop("hit");
- play();
- }
- score += addWallScore;
- vector_y = - vector_y;
- ball_yB = eval("ball_y" add n);
- ball_xB = eval("ball_x" add n);
- d = noOfpts;
- }
- else if(eval("ball_y" add n) == B_collision_line)
- {
- isVisible1 = getProperty("/brick" add pt_col add (pt_row - "1"), _currentframe);
- isVisible2 = getProperty("/brick" add (pt_col - "1") add (pt_row - "1"), _currentframe);
- if(isVisible1 == "1" or isVisible1 == "2" or isVisible1 == "3")
- {
- tellTarget("/soundFX")
- {
- gotoAndStop("hitBrick");
- play();
- }
- brickNo = pt_col add (pt_row - "1");
- tellTarget("/brick" add pt_col add (pt_row - "1"))
- {
- nextFrame();
- }
- vector_y = - vector_y;
- ball_yB = eval("ball_y" add n);
- ball_xB = eval("ball_x" add n);
- d = noOfpts;
- }
- else if((isVisible2 == "1" or isVisible2 == "2" or isVisible2 == "3") and R_collision_line >= eval("ball_x" add n))
- {
- tellTarget("/soundFX")
- {
- gotoAndStop("hitBrick");
- play();
- }
- brickNo = pt_col - "1" add (pt_row - "1");
- tellTarget("/brick" add (pt_col - "1") add (pt_row - "1"))
- {
- nextFrame();
- }
- vector_y = - vector_y;
- ball_yB = eval("ball_y" add n);
- ball_xB = eval("ball_x" add n);
- d = noOfpts;
- }
- }
- if(eval("ball_x" add n) == wall_collision_line)
- {
- tellTarget("/soundFX")
- {
- gotoAndStop("hit");
- play();
- }
- score += addWallScore;
- vector_x = - vector_x;
- ball_xB = eval("ball_x" add n);
- ball_yB = eval("ball_y" add n);
- d = noOfpts;
- }
- else if(eval("ball_x" add n) == R_collision_line)
- {
- isVisible1 = getProperty("/brick" add (pt_col - "1") add pt_row, _currentframe);
- isVisible2 = getProperty("/brick" add (pt_col - "1") add (pt_row - "1"), _currentframe);
- if(isVisible1 == "1" or isVisible1 == "2" or isVisible1 == "3")
- {
- tellTarget("/soundFX")
- {
- gotoAndStop("hitBrick");
- play();
- }
- brickNo = pt_col - "1" add pt_row;
- tellTarget("/brick" add (pt_col - "1") add pt_row)
- {
- nextFrame();
- }
- vector_x = - vector_x;
- ball_xB = eval("ball_x" add n);
- ball_yB = eval("ball_y" add n);
- d = noOfpts;
- }
- else if((isVisible2 == "1" or isVisible2 == "2" or isVisible2 == "3") and B_collision_line >= eval("ball_y" add n))
- {
- tellTarget("/soundFX")
- {
- gotoAndStop("hitBrick");
- play();
- }
- brickNo = pt_col - "1" add (pt_row - "1");
- tellTarget("/brick" add (pt_col - "1") add (pt_row - "1"))
- {
- nextFrame();
- }
- vector_x = - vector_x;
- ball_xB = eval("ball_x" add n);
- ball_yB = eval("ball_y" add n);
- d = noOfpts;
- }
- }
- n = noOfpts;
- }
- n += "1";
- }
- d += "1";
- }
-